package org.springblade.task.base.mapper;

import com.baomidou.mybatisplus.core.mapper.BaseMapper;
import org.springblade.task.base.entity.BaseNetChapterOrder;
import org.springblade.task.base.param.BaseOrderBookParam;
import org.springblade.task.base.vo.BaseEbookOrderVO;
import org.springblade.task.base.vo.BaseNetChapterOrderVO;

import java.math.BigDecimal;
import java.util.List;
import java.util.Map;

public interface BaseNetChapterOrderMapper  extends BaseMapper<BaseNetChapterOrder> {

	/**
	 *
	 * @param param
	 * @return
	 */
	public List<BaseNetChapterOrderVO> queryOnlineBookUserOrderCount(BaseOrderBookParam param);

	/**
	 * 查询首次下单用户
	 * @return
	 */
	public List<BaseNetChapterOrderVO> queryFirstOrderUserList(List<String> pinList);

	/**
	 * 查询订单金额分布区间数
	 * @param param
	 * @return
	 */
	public Map<String, BigDecimal> queryOrderAmountRange(BaseOrderBookParam param);

	/**
	 * 查询今日订单金额
	 * @param param
	 * @return
	 */
	public BaseNetChapterOrderVO queryTodayOrderAmount(BaseOrderBookParam param);

	/**
	 * 查询付费用户列表
	 * @param param
	 * @return
	 */
	public List<BaseEbookOrderVO> queryPayUserList(BaseOrderBookParam param);

	/**
	 * 查询日期区间付费用户列表
	 * @param param
	 * @return
	 */
	public List<String> queryDateRangePayUserList(BaseOrderBookParam param);

	/**
	 * 查询付费订单数
	 * @param param
	 * @return
	 */
	public Integer queryPayOrderCount(BaseOrderBookParam param);

	/**
	 * 查询每日订单数据
	 * @param param
	 * @return
	 */
	public List<BaseNetChapterOrderVO> queryDailyOrderList(BaseOrderBookParam param);
}
